package com.ruibang.glass.quality.mapper;

import com.ruibang.glass.quality.domain.req.DefectSizeDataReq;
import com.ruibang.glass.quality.domain.req.DiscardDefectDataReq;
import com.ruibang.glass.quality.domain.req.DiscardDefectReq;
import com.ruibang.glass.quality.entity.BandDefectData;
import com.teaming.cloud.framework2.autoconfigure.mybatisplus.mapper.CommonMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @Author: songJinKang
 * @CreateTime: 2023-09-18  21:19
 * @Description: TODO
 * @Version: 1.0
 */
@Mapper
public interface BandDefectDataMapper extends CommonMapper<BandDefectData> {
    void deleteByDate(@Param("defectReq") DiscardDefectReq defectReq);

    List<BandDefectData> queryDefectMapData(DiscardDefectDataReq discardDefectDataReq);

    List<BandDefectData> queryAllDefectMapData(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("defect") List<String> defect);

    List<BandDefectData> queryLayeredPointDataReq(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("defect") List<String> defect);

    List<BandDefectData> queryDefectSizeData(DefectSizeDataReq defectSizeDataReq);

    List<BandDefectData> queryAllDefectSizeData(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("defect") List<String> defect);

}
